1. Field of the Invention
The invention relates to a technique for recording data on a digital video device. More particularly, the present invention relates to a method and system for recording digital video data on a digital video device under the control of a digital video application running on a host device.
2. Background of the Related Art
A Digital Video (DV) device, such as a camcorder or tape recorder and player, permits a user to record audio/visual data (DV data) onto a recording medium and output the DV data to, for example, a personal computer (PC) running an application for editing DV data. A user can process the DV data using the application to edit portions of the DV data, delete unwanted portions of the DV data and/or add effects such as fading, visual effects, sound effects, etc. The edited DV data can then be sent back to the DV device for storage on the recording medium of the DV device.
DV device limitations have resulted in possibly losing the leading portion of a stream of DV data when DV data is printed to a DV device from the PC. Additionally, DV device limitations have also resulted in frame-inaccurate assembly editing, that is, the inability to accurately start a recording of streaming DV data at a selected track of a DV medium.
To address the data loss problem, many conventional DV data-editing applications set a DV device to a RECORD mode before DV data is sent to the DV device to avoid losing data. In particular, some currently-available DV devices reject an audio video control (AV/C) RECORD control command when the DV device does not sense data on the bus. While such an operating condition provides the advantage automatically stopping the DV device when recording has finished, i.e., the DV data has ended, data must be on the bus when an AV/C RECORD control command is sent to the DV device at the beginning of a recording operation.
On the other hand, depending on the DV device, the DV device may permit a RECORD PAUSE state before DV data is streamed to the DV device. Such an approach, though, does not entirely avoid data loss for DV devices that permit a RECORD PAUSE state without DV data because some DV devices reject a START RECORDING setting unless there is streaming data present. For example, the RECORD mode for at least two popular DV devices can be set when there is no data on the bus, but both DV devices change their internal plug control registers from “listening” to “broadcast channel 63” so that when an application attempts to program the input Plug Control Register (iPCR), the DV device appears to be busy. Consequently, to overcome this problem, data should be placed on the bus before either of the DV devices is set to the RECORD mode.
Consequently, a DV application cannot simply issue a device control to start recording and then send streaming data without an appropriate delay; otherwise, the beginning portion of the streaming data will be lost.
Yet another problem associated with printing data to a DV device includes that the DV device recording mechanism that is used for locking, or synchronizing, to the streaming DV data sent over an IEEE-1394 serial bus does not respond instantaneously. Still another problem is that the recording mechanism of a DV device that has locked to the streaming data does not provide feedback notification to the host (PC) that the DV device is ready to record. A further problem is that when a DV device transitions between transport states, such as from STOP to RECORD, transitioning is not instantaneous.
What is needed is a technique for streaming DV data to a DV device for storing the DV data on a recording media of the DV device without losing the leading section of the streaming data. What is also needed is a technique for streaming DV data to a DV device for storing the DV data on a recording medium of the DV device in a frame-accurate manner.